package org.bb.io.objectstreamdemo;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;

public class TestDriver {

	public static void main(String[] args) {
		test01();
//		test02();
	}

	/**
	 * 对象输入流
	 */
	private static void test02() {
		try {
			// 创建一个输入流对象
			ObjectInputStream ois = new ObjectInputStream(new FileInputStream("C:\\Users\\bql\\Desktop\\新建文件夹\\bb1533547735180.dat"));
			// 读入对象
			Object obj = ois.readObject();
			// 向下溯型
			Student stu0 = (Student) obj;
			System.out.println("stuName:" + stu0.getStuAge());
			// 对象读入流结束，关闭资源
			ois.close();
		} catch (Exception e) {
			// 对象输入流异常
			System.out.println("对象输入流异常:" + e.getMessage());
			// e.printStackTrace();
		}

	}

	/**
	 * 对象输出流
	 */
	private static void test01() {
		// 创建一个对象输出流
		try {
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
					"C:/Users/bql/Desktop/新建文件夹/bb" + System.currentTimeMillis() + ".dat"));
			
//			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
//					new File("C:/Users/bql/Desktop/新建文件夹/bb" + System.currentTimeMillis() + ".dat")));
			
			// 在内存中创建一个Student对象
			Student stu0 = new Student();
			// 设置属性
			stu0.setStuName("小明");
			stu0.setStuNo("150001");
			stu0.setStuSex("男");
			stu0.setStuAge(21);

			// 使用对象输出流，将stu0在内存中的状态进行持久化处理
			oos.writeObject(stu0);

			// 清空
			oos.flush();
			// 关闭资源
			oos.close();

			System.out.println("对象流写出完成");
		} catch (Exception e) {
			// 对象流异常
			System.out.println("对象输出流异常：" + e.getMessage());
			e.printStackTrace();
		}
	}
}
